package edu.gdkm.exceptiondemo;

import org.w3c.dom.ls.LSOutput;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Scanner;

/**
 * 实现一个2元计算器，通过命令行选择功能，要求实现功能如下：
 * 1、除法计算工具，通过在客户端输入2元计算式，由程序给出结果。
 * 2、将10进制数转换成2进制或者8进制数。
 * 3、通过输入半径计算圆的面积。

 * */
public class Calculator {
    public static void main(String[] args) {


        Scanner scanner = new Scanner(System.in);
        Scanner in = new Scanner(System.in);
        while (true) {
            System.out.println("请选择你需要的功能");
            System.out.println("0、退出");
            System.out.println("1、除法计算工具");
            System.out.println("2、进制转换工具");
            System.out.println("3、圆的计算工具");
            int num = scanner.nextInt();
            if (num == 0) {
                System.exit(0);
            }
            if (num == 1) {
                System.out.println("请使用'a/b'的格式输入计算式，a为被除数，b为除数");
                String s=in.nextLine();
                String[] ss=s.split("/");
                Arithmetic.d(ss[0],ss[1]);

            }
            if (num == 2) {
                System.out.println("请使用'a,b'的格式输入计算式，a为需要转换的数，b为2或者8进制");
                String s=in.nextLine();
                String[] ss=s.split(",");
                try {
                    Conversion.conversion(ss[0], ss[1]);
                }catch (IllegalArgumentException e){
                    System.out.println(e);
                }
            }
            if (num == 3) {
                System.out.println("请使用'r'的格式输入计算式，r为圆的半径");
                String s=in.nextLine();
                try {
                    Circle.compute(s);
                } catch (RadiusException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
